﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using DevExpress.Xpo;
using WROA.Models.Entitys;

namespace WROA.Models.IServices
{
    public interface IMeetingService : IService
    {
        XPCollection GetAllApplyMeeting(string name, string position);
        ApplyMeeting GetApplyMeeting(int id);
        MeetingType GetMeetingType(string name);
        Procedure GetProcedure(Flow flow, int stepid);
        void UpdateApplyMeetingProcedure(int id, Procedure procedure);
        void UpdateApplyMeetingState(int id);
        void UpdateApplyMeetingIsAgree(int id);
        void SaveMeetingApprove(MeetingApprove meetingApprove);
        void SaveMeetingData(MeetingData meetingData, List<string> name, Room room, Dictionary<string, int> equipmentData);
        void SaveMeetingUser(List<string> name, MeetingData meetingData);
        void SaveMeetingRoom(Room room, MeetingData meetingData);
        void SaveMeetingEquipment(Dictionary<string, int> equipmentData, MeetingData meetingData);
        void UpdateRoomState(int id, string state);
        XPCollection SelectFreeRoom();
        void UpdateMeetingDataState();
        bool RoomIsFree(string roomName, DateTime startTime, DateTime endTime);
        bool EquipmentIsEnough(DateTime startTime, DateTime endTime, Equipment equipment, int count);
        Room GetRoom(string name);
        Equipment GetEquipment(string name);
    }
}